package com.xbongbong.paas.service.dynamic.crm.strategy;

import com.xbongbong.pro.dynamic.pojo.dto.DynamicArchiveDTO;
import com.xbongbong.pro.dynamic.pojo.dto.DynamicCheckJoinTeamDTO;
import com.xbongbong.pro.dynamic.pojo.dto.DynamicLabelDTO;
import com.xbongbong.pro.dynamic.pojo.dto.DynamicStageJumpDTO;
import com.xbongbong.pro.dynamic.pojo.dto.DynamicUpdateBatchDTO;
import com.xbongbong.pro.dynamic.pojo.dto.DynamicUpdateDTO;

import java.util.List;

/**
 * 客户、机会、合同、联系人
 */
public interface MainBusinessDynamicStrategy {

    /**
     * 业务类型
     * @return
     */
    List<Integer> type();

    /**
     * 还原
     * @param dynamicRestoreDTO
     */
    // void restore(DynamicRestoreDTO dynamicRestoreDTO);

    /**
     * 查重加入团队
     * @param dynamicCheckJoinTeamDTO
     */
    void checkJoinTeam(DynamicCheckJoinTeamDTO dynamicCheckJoinTeamDTO);

    /**
     * 更新
     * @param dynamicUpdateDTO
     */
    void update(DynamicUpdateDTO dynamicUpdateDTO);

    /**
     * 批量更新
     * @param dynamicUpdateBatchDTO
     */
    void batchUpdate(DynamicUpdateBatchDTO dynamicUpdateBatchDTO);

    /**
     * 阶段推进
     * @param dynamicStageJumpDTO
     */
    void stageJump(DynamicStageJumpDTO dynamicStageJumpDTO);


    /**
     * 标签操作
     */
    void label(DynamicLabelDTO dynamicLabelDTO);

    /**
     * 归档/取消归档
     * @param dynamicArchiveDTO
     */
    void archive(DynamicArchiveDTO dynamicArchiveDTO);
}
